---
title: Configuration settings
summary: Configuration keys, connection construction, and runtime configuration dependencies for this library.
status: draft
owner: SAIF Corporation
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# Configuration settings

This library has a small direct configuration footprint centered on `clsPolicySecurity.Initialize()`, which reads three Environment API keys to construct the secondary SQL Server BDS connection. Oracle policy-data access and one SQL Server team-assignment email lookup path are injected as `IDataPortalInfo` dependencies rather than being built from local configuration. Operational risk remains because the BDS values are not validated and the `bdsDatabase` key name is misleading: it carries the server name, not the database name.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| `AppGlobal.EnvironmentService.GetConfigSetting` | `EnvironmentService` | `SAIF.BOF.Framework.Security`* | Reads `BDS_USER`, `bdsDatabase`, and `BDS_DATABASENAME` once during `clsPolicySecurity.Initialize()` before constructing `clsSQLDataLayer`. |
| Injected `IDataPortalInfo` | `IDataPortalInfo` | SAIF BOF data portal* | Caller supplies Oracle and optional SQL Server data portals to business objects and collections. |
| Configuration file provider registration | `oracle.manageddataaccess.client` section handler | `Oracle.ManagedDataAccess` | `app.config` and `Web.config` register ODP.NET provider metadata; library code does not read the section directly. |

## Environment API settings

Settings retrieved via `IEnvironmentService` (centralized environment configuration service).

| Setting key | Method | Data type | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- | --- |
| `BDS_USER` | `GetConfigSetting` | `String` | SQL Server BDS database user identifier passed to `clsSQLDataLayer` | `clsPolicySecurity` | `SAIF.Business.View.Policy/clsPolicySecurity.vb` |
| `bdsDatabase` | `GetConfigSetting` | `String` | SQL Server host / instance name for the BDS connection despite the misleading key name | `clsPolicySecurity` | `SAIF.Business.View.Policy/clsPolicySecurity.vb` |
| `BDS_DATABASENAME` | `GetConfigSetting` | `String` | SQL Server catalog name for the BDS connection | `clsPolicySecurity` | `SAIF.Business.View.Policy/clsPolicySecurity.vb` |

## AppSettings (Web.config)

None found. The compiled source contains no `ConfigurationManager.AppSettings` access, and neither `app.config` nor `Web.config` declares an `<appSettings>` section.

## Database connection configuration

Connection strings and database provider settings consumed by this library.

| Connection name | Provider | Retrieval method | Purpose | Source |
| --- | --- | --- | --- | --- |
| Primary Oracle policy-data connection (`DPI`) | Oracle / ODP.NET* | Injected `IDataPortalInfo` | Supplies the main policy, association, audit, address, and trading-as data path | `SAIF.Business.View.Policy/clsPolicyData.vb`, `SAIF.Business.View.Policy/clsPolicySecurity.vb` |
| SQL Server BDS security connection (`DPISql`) | Microsoft SQL Server | Constructed by `clsSQLDataLayer(bdsUser, bdsServer, bdsDatabaseName, SecurityPrincipal.UserName.ToString)` | Supports group, loss-control, and agent authorization plus BDS policy-list lookups | `SAIF.Business.View.Policy/clsPolicySecurity.vb` |
| Team-assignment email SQL Server connection | Microsoft SQL Server* | Injected `IDataPortalInfo` | Supports `cp_external_client_lookup` for external team-member email resolution | `SAIF.Business.View.Policy/clsTeamAssignment.vb` |

## Secure settings

None found. No `GetSecureConfigSetting`, encrypted configuration sections, DPAPI helpers, tokens, or credentials are referenced in this library's code or configuration files.

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `AppGlobal.EnvironmentService` | service | Runtime when `clsPolicySecurity` is constructed | BDS connection values cannot be resolved; authorization paths that rely on BDS fail |
| `BDS_USER` | environment setting | Runtime during `clsPolicySecurity.Initialize()` | SQL Server BDS connection cannot be constructed correctly |
| `bdsDatabase` | environment setting | Runtime during `clsPolicySecurity.Initialize()` | BDS server cannot be targeted correctly |
| `BDS_DATABASENAME` | environment setting | Runtime during `clsPolicySecurity.Initialize()` | BDS catalog cannot be selected correctly |
| Injected Oracle `IDataPortalInfo` | service / object dependency | Request-time business-object creation | Primary Oracle reads cannot execute |
| Injected SQL Server `IDataPortalInfo` for team assignment | service / object dependency | Request-time team-assignment email initialization | External email lookup falls back to empty or alternate Oracle path depending on caller behavior* |
| `oracle.manageddataaccess.client` provider registration | configuration section | Startup / provider resolution | Oracle provider resolution may fail in hosts that rely on local config registration* |

## Related documentation
- [Library index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources
- `SAIF.Business.View.Policy/app.config`
- `SAIF.Business.View.Policy/clsPolicySecurity.vb`
- `SAIF.Business.View.Policy/clsTeamAssignment.vb`
- `SAIF.Business.View.Policy/Web.config`
